perm filename ENTAB.OLD[11,HE] blob sn#690543 filedate 1982-12-15 generic text, type T, neo UTF8
; Copyright Xerox Corporation 1979
	.TITLE	ENTAB
	.DSABL	GBL
	.MCALL	DEVDF$
	.MCALL	HWDDF$
	.GLOBL	$ENINP
	.GLOBL	$ENOUT
	DEVDF$
	HWDDF$
LOADED=1			;1 = LOADABLE DRIVER
;
	.IF	Z,LOADED
;
;INTERRUPT VECTORS
;
	.ASECT
.=400
	.WORD	$ENOUT		;OUTPUT
	.WORD	PR7!0
	.WORD	$ENINP		;INPUT
	.WORD	PR7!1
	.WORD	$ENOUT		;COLLISION
	.WORD   PR7!0
	.ENDC
	.PSECT
;
;DEVICE CONTROL BLOCK
;
$ENDAT::
ENDCB::
	.WORD	0		;LINK TO NEXT DCB
	.WORD	.EN0		;POINTER TO FIRST UCB
	.ASCII	/EN/		;DEVICE NAME
	.BYTE	0,1		;UNIT NO.,RANGE
	.WORD	ENND-ENST	;LENGTH OF UCB
	.WORD	0		;POINTER TO DISPATCH TABLE
	.WORD	107		;LEGAL FCN MASK CODES 0-15
	.WORD	100		;CONTROL FCN MASK CODES 0-15
	.WORD	0		;NO-OP FCN MASK CODES 0-15
	.WORD	0		;ACP FCN MASK CODES 0-15
	.WORD	0		;LEGAL FCN MASK CODES 16-31
	.WORD	0		;CONTROL FCN MASK CODES 16-31
	.WORD	0		;NO-OP FCN MASK CODES 16-31
	.WORD	0		;ACP FCN MASK CODES 16-31
	.WORD	0		;ADDRESS OF PCB
;
;UNIT CONTROL BLOCK 0 (OUTPUT)
;
ENST=.
	.WORD	0		;OWNER'S UCB POINTER
.EN0::
	.WORD	ENDCB		;POINTER TO DCB
	.WORD	.-2		;POINTER TO U.DCB
	.BYTE	UC.ALG!1,0	;CONTROL,STATUS
	.BYTE	0,0		;DEVICE NO.,STATUS2
	.WORD	DV.REC		;CW1
	.WORD	0		;CW2
	.WORD	0		;CW3
	.WORD	554.		;CW4=DEFAULT BUFFER SIZE
	.WORD	$EN0		;POINTER TO SCB
	.WORD	0		;TCB OF ATTACHED TASK

	.BLKW	2		;BUFFER ADDRESS & REL BIAS
	.BLKW	1		;BYTE COUNT OF CURRENT I/O
ENND=.
;
;UNIT CONTROL BLOCK 1 (INPUT)
;
	.WORD	0		;OWNER'S UCB POINTER
.EN1::
	.WORD	ENDCB		;POINTER TO DCB
	.WORD	.-2		;POINTER TO U.DCB
	.BYTE	UC.ALG!1,0	;CONTROL,STATUS
	.BYTE	0,0		;DEVICE NO.,STATUS2
	.WORD	DV.REC		;CW1
	.WORD	0		;CW2
	.WORD	0		;CW3
	.WORD	554.		;CW4=DEFAULT BUFFER SIZE
	.WORD	$EN1		;POINTER TO SCB
	.WORD	0		;TCB OF ATTACHED TASK
	.BLKW	2		;BUFFER ADDRESS & REL BIAS
	.BLKW	1		;BYTE COUNT OF CURRENT I/O
;
;STATUS CONTROL BLOCK 0 (OUTPUT)
;
$EN0::
	.WORD	0		;I/O QUEUE HEAD
	.WORD	.-2		;I/O QUEUE TAIL
	.BYTE	PR5,100		;PRIORITY,VECTOR/4
	.BYTE	0,0		;CURRENT,INITIAL TIMEOUT
	.BYTE	0,0		;CONTROLLER NO.*2,STATUS
	.WORD	160024		;ADDRESS OF ETHERNET H/W
	.BLKW	1		;ADDRESS OF CURRENT I/O PACKET
	.BLKW	5		;FORK BLOCK ALLOCATION
;
;STATUS CONTROL BLOCK 1 (INPUT)
;
$EN1::
	.WORD	0		;I/O QUEUE HEAD
	.WORD	.-2		;I/O QUEUE TAIL
	.BYTE	PR5,101		;PRIORITY,VECTOR/4
	.BYTE	0,0		;CURRENT,INITIAL TIMEOUT
	.BYTE	2,0		;CONTROLLER NO.*2,STATUS
	.WORD	160034		;ADDRESS OF ETHERNET H/W
	.BLKW	1		;ADDRESS OF CURRENT I/O PACKET
	.BLKW	5		;FORK BLOCK ALLOCATION
$ENEND::
	.END